#ifndef WAYLANDWINDOW_H
#define WAYLANDWINDOW_H

#include <QObject>

#include <KWayland/Client/plasmawindowmanagement.h>
#include "ukuiwindow.h"

//相当于wayland下获取window的后台
class WaylandWindow : public UKUIWindow
{
    Q_OBJECT
public:
    explicit WaylandWindow(KWayland::Client::PlasmaWindow *window, UKUIWindow *parent = nullptr);
    ~WaylandWindow();

    QString getAppName() override;
    QString getTitle() override;
    QIcon getIcon() override;
    const quint32 pid() override;

    void requestClose() override;
    bool isClosable() override;

    void requestMax() override;
    bool isMaximizable() override;
    bool isMaximized() override;


    void requestMin() override;
    bool isMinimizable() override;
    bool isMinimized() override;

    void requestActivate() override;    

    void requestKeepAbove() override;
    bool isKeepAboveable() override;

    void requestToggleKeepBelow() override;
    bool isKeepBelowable() override;

    //other property
    bool isMovable() override;
    bool isResizable() override;

    bool isFullScreenable() override;
    bool isFullScreen() override;

public slots:


private:
    void init();

    KWayland::Client::PlasmaWindow *m_plasmaWindow;
};

#endif // WAYLANDWINDOW_H
